﻿@model KPIS.GERP.Models.HRM.PsAbsence

<div class="widget-box">
	<div class="widget-header header-color-blue2">
        <h4 class="lighter smaller">ข้อมูลใบลา</h4>
    </div>
    <div class="widget-body">
        <div class="widget-body-inner">
			<div class="widget-main form-horizontal">
                <div class="control-group">
                    <div class="control-label">
                         เลขที่
                    </div>
                    <div class="controls-detail" style="margin-top:5px !important;">
                        @Html.DisplayFor(model => model.AbsenceId)
                    </div>
                </div>  
                <div class="control-group">
                    <div class="control-label">
                         รหัสอ้างอิงขอลา
                    </div>
                    <div class="controls-detail" style="margin-top:5px !important;">
                        @Html.DisplayFor(model => model.Code)
                    </div>
                </div>  
                <div class="control-group">
                    <div class="control-label">
                         หัวข้อ
                    </div>
                    <div class="controls-detail" style="margin-top:5px !important;">
                        @Html.DisplayFor(model => model.RequestTitle)
                    </div>
                </div>  
                <div class="control-group">
                    <div class="control-label">
                         ผู้ขอลา
                    </div>
                    <div class="controls-detail" style="margin-top:5px !important;">
                        @{
                            var context = new GERPContext(true);
                            var createdBy = context.Employees.FirstOrDefault(o => o.EmpId == Model.CreatedBy);
                        }
                        @createdBy.FullName
                    </div>
                </div>  
                <div class="control-group">
                    <div class="control-label">
                         ประเภทคำขอลา
                    </div>
                    <div class="controls-detail" style="margin-top:5px !important;">
                        @Html.DisplayFor(model => model.AbsenceType.AbsenceTypeName)
                    </div>
                </div>  @{
                            var db = new GERPContext(true);
                            var task2 = db.Tasks
                                .Include(o => o.CurrentTaskHistory)
                                .FirstOrDefault(o => o.RefId == Model.AbsenceId &&
                                                     o.ApproveProcess.AppPrcGrpId == 1
                                                     && o.RecordStatus != RecordStatus.DeletedStatus);
                        }
                <div class="control-group">
                    <div class="control-label">
                         วันที่ยื่นคำขอ
                    </div>
                    <div class="controls-detail" style="margin-top:5px !important;">
                        @(task2 != null && task2.CreatedWhen.HasValue ? task2.CreatedWhen.Value.ToString("dd/MM/yyyy HH:mm") : "-")
                    </div>
                </div>  
                <div class="control-group">
                    <div class="control-label">
                         วันเริ่มลา
                    </div>
                    <div class="controls-detail" style="margin-top:5px !important;">
                        @Model.StartDate.Value.ToString("dd/MM/yyyy")
                        @(Model.StartTime == "M" ? "ตั้งแต่ช่วงเช้า":"ตั้งแต่ช่วงบ่าย")
                    </div>
                </div>  
                <div class="control-group">
                    <div class="control-label">
                         วันสุดท้ายของการลา
                    </div>
                    <div class="controls-detail" style="margin-top:5px !important;">
                        
                        @Model.EndDate.Value.ToString("dd/MM/yyyy")
                        @(Model.EndTime == "M" ? "ถึงช่วงเช้า":"ถึงช่วงบ่าย")
                    </div>
                </div>  
                <div class="control-group">
                    <div class="control-label">
                         จำนวนวัน
                    </div>
                    <div class="controls-detail" style="margin-top:5px !important;">
                        @{
                            decimal amountDay = (Model.DayCount ?? 0);
                            int amountDayFull = Convert.ToInt32(Math.Floor(amountDay));
                            bool isHaveHalfDay = amountDay%1 > 0;
                        }
                        @(amountDayFull > 0 ? Math.Floor(amountDay).ToString("#,##0") + " วัน": "") 
                        @(isHaveHalfDay ? "ครึ่ง" + (amountDayFull == 0 ? "วัน":"") : "เต็ม")
                    </div>
                </div>  
                <div class="control-group">
                    <div class="control-label">
                         ที่อยู่ที่ติดต่อได้
                    </div>
                    <div class="controls-detail" style="margin-top:5px !important;">
                        @Html.DisplayFor(model => model.ContactAddress) 
                    </div>
                </div>  
                <div class="control-group">
                    <div class="control-label">
                         รายละเอียด
                    </div>
                    <div class="controls-detail" style="margin-top:5px !important;">
                        @Html.DisplayFor(model => model.Description) 
                    </div>
                </div>  
                <div class="control-group">
                    <div class="control-label">
                         หมายเหตุ
                    </div>
                    <div class="controls-detail" style="margin-top:5px !important;">
                        @Html.DisplayFor(model => model.Remarks)
                    </div>
                </div>  
                <div class="control-group">
                    <div class="control-label">
                         สถานะคำขอ
                    </div>
                    <div class="controls-detail" style="margin-top:5px !important;">
                        <span class="@switch (Model.RecordStatus)
                                    {
                                        case "U": @:text-info
                                            break;
                                        case "A": @:text-success
                                            break;
                                        case "W": @:text-warning
                                            break;
                                        case "P": @:muted
                                            break;
                                        case "J": @:red
                                            break;
                                        default:
                                            break;
                                    }">
                                    @KPIS.GERP.Models.SYS.RecordStatus.RecordStatusName(Model.RecordStatus)
                            @{
                                        
                                if (task2 != null && !task2.Completed &&
                                    task2.CurrentTaskHistory != null &&
                                    task2.CurrentTaskHistory.ApproverPosId != null)
                                {
                                    var empOfPos = db.Employees
                                        .Include(o => o.Position)
                                        .FirstOrDefault(o => o.RecordStatus != "D"
                                                             && o.PosId == task2.CurrentTaskHistory.ApproverPosId);
                                    if (empOfPos != null)
                                    {
                                        @: โดย @empOfPos.FullName (@empOfPos.Position.PosNo - @empOfPos.Position.Name) เมื่อ @task2.CurrentTaskHistory.CreatedWhen.Value.ToString("dd MMMM yyyy HH:mm")
                                    }
                                }
                                else if (task2 != null && task2.Completed &&
                                         !string.IsNullOrWhiteSpace(task2.CompletedByFullName))
                                {
                                    @:โดย @task2.CompletedByPosName - @task2.CompletedByFullName เมื่อ @task2.CompletedWhen.Value.ToString("dd MMMM yyyy HH:mm")
                                }
                                if(task2 != null)
                                {
                                    @:&nbsp;&nbsp;&nbsp;&nbsp;
                                    <a href="@Url.Action("Details", "Task", new {id=task2.TaskId})" target="_blank">
                                        ไปที่หน้าคำขอ <i class="icon-external-link"></i>
                                    </a>
                                }
                                        
                            }

                        </span>&nbsp;
                    </div>
                </div>
            </div>
        </div>
    </div> 
	<div class="widget-header header-color-blue2">
        <h4 class="lighter smaller">ข้อมูลประเภทคำขอลา</h4>
    </div>
    <div class="widget-body">
        <div class="widget-body-inner">
			<div class="widget-main form-horizontal">
                <div class="control-group">
                    <div class="control-label">
                         ชื่อประเภท
                    </div>
                    <div class="controls-detail" style="margin-top:5px !important;">
                        @Html.DisplayFor(model => model.AbsenceType.AbsenceTypeName)
                    </div>
                </div>  
                <div class="control-group">
                    <div class="control-label">
                         หมายเหตุ
                    </div>
                    <div class="controls-detail" style="margin-top:5px !important;">
                        @Html.DisplayFor(model => model.AbsenceType.Remarks)
                    </div>
                </div>  
                @{
                    var absenceRule = db.RuleAbsences.FirstOrDefault(o => o.AbsenceTypeId == Model.AbsenceTypeId &&
                                                                          o.EmpTypeId == Model.Employee.EmpTypeId && 
                                                                          o.RecordStatus != "D");
                }
                <div class="control-group">
                    <div class="control-label">
                         เงื่อนไขการลา
                    </div>
                    <div class="controls-detail" style="margin-top:5px !important;">
                        @(absenceRule != null ? "พบ" : "ไม่พบ")
                    </div>
                </div>  
                @if(absenceRule != null)
                {
                    <div class="control-group">
                        <div class="control-label">
                             ประเภทบุคคลากร
                        </div>
                        <div class="controls-detail" style="margin-top:5px !important;">
                            @(absenceRule.EmpType.Name)
                        </div>
                    </div>  
                    <div class="control-group">
                        <div class="control-label">
                             นับรวมวันหยุด
                        </div>
                        <div class="controls-detail" style="margin-top:5px !important;">
                            @(absenceRule.IncludeNwd ? "ใช่":"ไม่ใช่")
                        </div>
                    </div>  
                    <div class="control-group">
                        <div class="control-label">
                             หมายเหตุ
                        </div>
                        <div class="controls-detail" style="margin-top:5px !important;">
                            @(absenceRule.Remarks)
                        </div>
                    </div>  
                    <div class="control-group">
                        <div class="control-label">
                             เงื่อนไขการส่งขอ
                        </div>
                        <div class="controls-detail" style="margin-top:5px !important;">
                            @if(!absenceRule.SendBefore.HasValue || absenceRule.SendBefore == 0)
                            { 
                                @:ไม่มีเงื่อนไขการส่งล่วงหน้า 
                            } else if(absenceRule.SendBefore < 0)
                            {
                                @:สามารถส่งย้อนหลังไม่เกิน (@(absenceRule.SendBefore*-1) วัน)
                            } else 
                            {
                                @:ต้องส่งล่วงหน้าอย่างน้อย (@(absenceRule.SendBefore) วัน)
                            }
                        </div>
                    </div>  
                }
            </div>
        </div>
    </div>
</div>
